package com.digicom.common.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.digicom.common.entity.Topic;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 专题数据访问层
 */
public interface TopicMapper extends BaseMapper<Topic> {
    /**
     * 查询专题列表（分页）
     *
     * @param page 分页查询条件
     * @param topic 专题查询条件
     * @return 专题分页列表
     */
    Page<Topic> selectTopicPage(Page<Topic> page, @Param("topic") Topic topic);

    /**
     * 查询所有已发布的专题
     *
     * @return 专题列表
     */
    List<Topic> selectPublishedTopics();

    /**
     * 根据ID查询专题详情
     *
     * @param topicId 专题ID
     * @return 专题详情
     */
    Topic selectTopicDetail(@Param("topicId") Long topicId);

    /**
     * 修改同步状态
     *
     * @param topicId 专题ID
     * @param syncApp 同步状态
     * @return 影响行数
     */
    int updateSyncStatus(@Param("topicId") Long topicId, @Param("syncApp") String syncApp);
} 